home *** CD-ROM | disk | FTP | other *** search
- /* ------------------------------------------------------------
- Datei : Counter2TCalc.ITDaemon
-
- Autor : J.Reinert/Lehrte
-
- Funktion : Gebührenzähler auslesen und ab Cursorposition
- in TurboCalc-Arbeitsblatt einfügen
-
- Bedingung: Turbocalc muss gestartet sein
- --------------------------------------------------------------*/
-
- options results
-
- DaemonStarted=0 /* Falls Daemon nicht läuft... */
-
- if ~show(ports,'ITA1004Daemon') then do
- ADDRESS COMMAND /* CLI-Befehle zugänglich machen */
- "RUN >NIL: ITA1004Daemon" /* ITA1004Daemon starten */
- WaitForPort "ITA1004Daemon" /* warten auf ARexx-Port */
- if rc=0 then DaemonStarted=1 /* wenn gestartet, dann Flag setzen */
- end
-
- if show(ports,'ITA1004Daemon') then /* Ist ITA1004Daemon wirklich aktiv?*/
- do
- if show(ports,'TCALC') then
- do
- Address "ITA1004Daemon" /* Daemon-Port festlegen */
- DD_REQUEST "Zählerstände in TurboCalc-| Arbeitsblatt eintragen?"
- if result=1 then
- do
- DD_GETCOUNTER /* Gebührenzähler auslesen */
- Counter=result
- Call TransferToTC
- if Summe ~= 0 then
- do
- Address "ITA1004Daemon"
- DD_REQUEST "Alle Zähler auf Null setzen?"
- if result=1 then
- do
- DD_RESETCOUNTER ALL /* Wenn gewünscht, alle Zähler löschen */
- Counter=result
- Call TransferToTC
- end
- end
- end
- end
- else
- do /* Kein Turbocalc-Port gesehen */
- Address "ITA1004Daemon"
- DD_ERROR "Turbocalc läuft nicht!"
- end
-
- if DaemonStarted then /* Daemon beenden, falls durch Script gestartet */
- do
- Address "ITA1004Daemon"
- DD_ExitDaemon
- end
- end
-
- exit
-
- /* -----------------------------------------------------------------------
- Ergebnis zerlegen und in TurboCalc-Arbeitsblatt eintragen
- -----------------------------------------------------------------------*/
-
- TransferToTC:
- Summe=0 /* Gebührensumme aller Zähler*/
- ADDRESS TCALC /* TurboCalc-Port festlegen */
- GETCURSORPOS
- oldpos = result
- do i=1 to 7 /* Daten ab Cursorposition eintragen */
- x=SubWord(Counter,i,1) /* Wert aus Ergebnis-String holen */
- if i>2 then Summe=Summe+x /* Summe bilden */
- put x /* Wert in Zelle eintragen */
- column 1 /* Cursor eine Zelle nach rechts */
- end
- selectcell oldpos /* Cursor zurück */
- line 1 /* Cursor ein Zeile tiefer */
- Return
-